package com.kent.internet;

import java.io.IOException;
import java.net.InetAddress;

/**
 * Notice: InetAddress的基本使用,这个类本身没有包含太多功能,它代表一个IP地址对象,是网络通信的基础,后续回大量使用该类.
 *
 * @author kent_sun
 * @version 1.0
 * @date 2021/4/29
 * @since 1.0
 */
public class InetAddressTest {
    public static void main(String[] args) throws IOException {
        // 根据主机名来获取对应的InetAddress实例
        InetAddress ip = InetAddress.getByName("www.crazyit.org");
        // 判断是否可达
        System.out.println("crazyit 是否可达：" + ip.isReachable(2000));
        // 获取改InetAddress实例的IP字符串
        System.out.println(ip.getHostAddress());
        // 获取原始IP地址来获取对应的InetAddress实例
        InetAddress local = InetAddress.getByAddress(
                new byte[]{127, 0, 0, 1}
        );
        System.out.println("本机是否可达：" + local.isReachable(5000));
        // 获取改InetAddress实例对应的全限定域名
        System.out.println(local.getCanonicalHostName());
    }
}
